package util;

import java.sql.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;

import BEAN.AutorBean;
import BEAN.EdicaoBean;
import BEAN.EditoraBean;
import BEAN.LivroBean;
import BEAN.UsuarioBean;

public class Validate {
	
	public static ArrayList<String> autorBean(AutorBean autorBean){
		ArrayList<String> erro = new ArrayList<String>();
		

		if(autorBean.getData_nascimento()==null || autorBean.getData_nascimento().equals("")){
			erro.add("Data de nascimento n&atilde;o preenchida");
		}
		else{
			try {
				DateFormat telaFormato = new SimpleDateFormat("dd/MM/yyyy");
				telaFormato.parse(autorBean.getData_nascimento());}
			catch (Exception e) {erro.add("Data deve ter o formato DD/MM/AAAA");}
		}
		
		if(autorBean.getNome()==null || autorBean.getNome().equals("")){
			erro.add("Nome n&atilde;o preenchido");
		}
		
		if(autorBean.getNota_bibliografica()==null || autorBean.getNota_bibliografica().equals("")){
			erro.add("Nota Bibliogr&aacute;fica n&atilde;o preenchida");
		}
		
		if(autorBean.getPais_nascimento()==null || autorBean.getPais_nascimento().equals("")){
			erro.add("Pa&iacute;s de nascimento n&atilde;o preenchido");
		}
		
		return erro;
	}
	
	
	
	public static ArrayList<String> usuarioBean(UsuarioBean usuarioBean){
		ArrayList<String> erro = new ArrayList<String>();
		

		if(usuarioBean.getSenha()==null || usuarioBean.getSenha().equals("")){
			erro.add("Senha n&atilde;o preenchido");
		}
		
		if(usuarioBean.getNome()==null || usuarioBean.getNome().equals("")){
			erro.add("Nome n&atilde;o preenchido");
		}
		
		if(usuarioBean.getCargo()==null || usuarioBean.getCargo().equals("")){
			erro.add("Cargo n&atilde;o preenchido");
		}
		
		return erro;
	}
	
	public static ArrayList<String> livroBean(LivroBean livroBean){
		ArrayList<String> erro = new ArrayList<String>();
		
		
		if(livroBean.getTitulo()==null || livroBean.getTitulo().equals("")){
			erro.add("T&iacute;tulo n&atilde;o preenchido");
		}
		
		if(livroBean.getIdioma()==null || livroBean.getIdioma().equals("")){
			erro.add("Idioma n&atilde;o preenchido");
		}
		
		return erro;
	}
	
	public static ArrayList<String> edicaoBean(EdicaoBean edicaoBean){
		ArrayList<String> erro = new ArrayList<String>();
		
		if(edicaoBean.getAno()==null || edicaoBean.getAno().equals("")){
			erro.add("Ano n&atilde;o preenchido");
		}
		else{
			try {int ano = Integer.valueOf(edicaoBean.getAno());}
			catch (Exception e) {erro.add("Ano deve ser inteiro");}
		}
		
		if(edicaoBean.getEditora()==null || edicaoBean.getEditora().equals("")){
			erro.add("Editora n&atilde;o preenchido");
		}
		else{
			try {int editora = Integer.valueOf(edicaoBean.getEditora());}
			catch (Exception e) {erro.add("Editora deve ser inteiro");}
		}
		
		if(edicaoBean.getEstoque()==null || edicaoBean.getEstoque().equals("")){
			erro.add("Nome n&atilde;o preenchido");
		}
		else{
			try {int estoque = Integer.valueOf(edicaoBean.getEstoque());}
			catch (Exception e) {erro.add("Estoque deve ser inteiro");}
		}
		
		if(edicaoBean.getIsbn()==null || edicaoBean.getIsbn().equals("")){
			erro.add("ISBN n&atilde;o preenchido");
		}
		
		
		/*		if(edicaoBean.getLivro()==null || edicaoBean.getLivro().equals("")){
			erro.add("Livro n&atilde;o preenchido");
		}
		else{
			try {int livro = Integer.valueOf(edicaoBean.getLivro());}
			catch (Exception e) {erro.add("Livro deve ser inteiro");}
		}*/
		
		if(edicaoBean.getNum_edicao()==null || edicaoBean.getNum_edicao().equals("")){
			erro.add("N&uacute;mero da edi&ccedil;&atilde;o n&atilde;o preenchido");
		}
		else{
			try {int numero_edicao = Integer.valueOf(edicaoBean.getNum_edicao());}
			catch (Exception e) {erro.add("N&uacute;mero da edi&ccedil;&atilde;o deve ser inteiro");}
		}
		
		if(edicaoBean.getNum_paginas()==null || edicaoBean.getNum_paginas().equals("")){
			erro.add("N&uacute;mero de p&aacute;ginas n&atilde;o preenchido");
		}
		else{
			try {int numero_paginas = Integer.valueOf(edicaoBean.getNum_paginas());}
			catch (Exception e) {erro.add("N&uacute;mero de p&aacute;ginas deve ser inteiro");}
		}
		
		if(edicaoBean.getPreco()==null || edicaoBean.getPreco().equals("")){
			erro.add("Pre&ccedil;o n&atilde;o preenchido");
		}
		else{
			try {double preco = Double.valueOf(edicaoBean.getNum_paginas());}
			catch (Exception e) {erro.add("N&uacute;mero de p&aacute;ginas deve ser inteiro ou decimal");}
		}
		
		return erro;
	}
	
	public static ArrayList<String> editoraBean(EditoraBean editoraBean){
		ArrayList<String> erro = new ArrayList<String>();
		
		if(editoraBean.getEndereco()==null || editoraBean.getEndereco().equals("")){
			erro.add("Endere&ccedil;o n&atilde;o preenchido");
		}
		
		if(editoraBean.getNome()==null || editoraBean.getNome().equals("")){
			erro.add("Nome n&atilde;o preenchido");
		}
		
		if(editoraBean.getTelefone()==null || editoraBean.getTelefone().equals("")){
			erro.add("Telefone n&atilde;o preenchido");
		}
		
		return erro;
	}

	public static ArrayList<String> validaLogin(UsuarioBean usuarioBean) {
		ArrayList<String> erro = new ArrayList<String>();
		
		if(usuarioBean.getNome()==null || usuarioBean.getNome().equals("")){
			erro.add("Campo <strong>Nome</strong> n&atilde;o preenchido");
		}
		
		if(usuarioBean.getSenha()==null || usuarioBean.getSenha().equals("")){
			erro.add("Campo <strong>Senha</strong> n&atilde;o preenchida");
		}
		
		return erro;
	}

	
	
	
}
